home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
ikap
/
etc
/
f45
/
f45make.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-05-08
|
1KB
|
69 lines
/*
画面表示情報から「4x5ドットビットマップフォントファイル」を生成
6万色:白(0xffff)地に黒(0x0000)であること
*/
#include <stdio.h>
/*
指定座標から4x5ドットビットマップ情報(3バイト)をpatにかきだし
*/
int getFont4x5(fx,fy,pataddr)
int fx,fy;
unsigned char *pataddr;
{
int x,y,pat;
unsigned char *buf;
buf=pat;
pat=0;
for( y=0; y<5; y++ ){ ; for( x=0; x<4; x++ ){
pat<<=1;
if( point(fx+x,fy+y)==0 ){
pat|=1;
}
}}
pataddr[0]=(pat&0b000011111111000000000000)>>12;
pataddr[1]=(pat&0b000000000000111111110000)>>4;
pataddr[2]=(pat&0b000000000000000000001111)<<4;
}
/* code */
unsigned char fontBuf[0x100][3];
int main(argc,argv)
int argc;
char *argv[];
{
short fx,fy,fcode;
for( fy=0; fy<=0x0f; fy++ ){ ; for( fx=0; fx<=0x0f; fx++ ){
fcode=fy*0x10+fx;
getFont4x5(fx*4,fy*8,fontBuf[fcode]);
}}
{
FILE *fp;
fp=fopen(argv[1],"wb");
if( fp==NULL ){
printf(
"画面表示から4x5ドットフォントデータ(バイナリ)を作ります\n"
"usage:@>f45make filename.f45\n"
"※実行前に、6万色画面にフォントデータを表示しておくこと\n"
);
goto quick_exit;
}
fwrite(fontBuf,sizeof(unsigned char),sizeof(fontBuf),fp);
fclose(fp);
}
quick_exit:
return(0);
}